package com.tbit.uqbike.service.business;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tbit.common.entity.view.Result;
import com.tbit.manager.api.dto.OperationalDataDTO;
import com.tbit.uqbike.object.pojo.AccountDayStat;
import com.tbit.uqbike.object.pojo.vo.OperationalDataVO;
import com.tbit.uqbike.object.pojo.vo.OrderFlowKanbanVO;
import com.tbit.uqbike.object.pojo.vo.VehicleOperationVO;

import java.util.List;
import java.util.Map;

/**
 * 区域数据预统计接口
 *
 * @Author:BUGTian
 * @DATE: 2022/11/1
 */
public interface AccountDayStatService extends IService<AccountDayStat> {
    /**
     * 运营大屏-运营数据
     *
     * @param operationalDataDTO
     * @return
     */
    Map<String, Object> operationalData(OperationalDataDTO operationalDataDTO);

    /**
     * 运营大屏-运营数据-车辆运营看板
     *
     * @param operationalDataDTO
     * @return
     */
    VehicleOperationVO queryVehicleOperationVO(OperationalDataDTO operationalDataDTO);

    /**
     * 运营大屏-运营数据-订单流水看板
     *
     * @param operationalDataDTO
     * @return
     */
    OrderFlowKanbanVO orderFlowKanban(OperationalDataDTO operationalDataDTO);


    /**
     * 查询数据最近更新时间
     *
     * @param accountIds
     * @return
     */
    Long selectLatelyDataTime(List<Integer> accountIds);

    /**
     * 运营大屏-运营数据-新
     * @param operationalDataDTO operationalDataDTO
     * @return OperationalDataVO
     */
    Result<OperationalDataVO> operationalDataNew(OperationalDataDTO operationalDataDTO);

    Integer todayNewUser(List<Integer> idList);
}
